package com.jsits.v2x.hurys.config;

import com.jsits.v2x.common.enums.DevicePosition;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import static com.jsits.v2x.common.enums.DevicePosition.*;

/**
 * 配置中每个位置的设备ID
 * 横向主路，左边为1，右边为2
 * 纵向支路，上边为1，下边为2
 */
@Component
@ConfigurationProperties(prefix = "hurys")
@Data
public class HurysConfiguration {
    @ApiModelProperty("主路方向1")
    private String mainRoad1;
    @ApiModelProperty("主路方向2")
    private String mainRoad2;
    @ApiModelProperty("支路方向1")
    private String subRoad1;
    @ApiModelProperty("支路方向2")
    private String subRoad2;
    @ApiModelProperty("提交数据的地址")
    private String computeUrl;

    /**
     * 根据设备ID获知该设备的位置
     * @param id 设备的ID
     * @return 设备的位置
     */
    public DevicePosition getPosition(String id) {
        if(id.equals(mainRoad1)) {
            return DEVICE_POSITION_MAIN_1;
        } else if(id.equals(mainRoad2)) {
            return DEVICE_POSITION_MAIN_2;
        } else if(id.equals(subRoad1)) {
            return DEVICE_POSITION_SUB_1;
        } else if(id.equals(subRoad2)) {
            return DEVICE_POSITION_SUB_2;
        }
        return DEVICE_POSITION_UNKNOWN;
    }
}
